package com.okbihuo.perm.core.tool.dict;

import java.util.List;

/**
 * 是否枚举
 */
public enum YesOrNo {
    /**
     * 否
     */
    NO,
    /**
     * 是
     */
    YES;

    /**
     * 判断是
     * @param object 1 是 0 否
     * @return true 是 false 否
     */
    public static boolean isYes(Integer object) {
        return object != null && object.equals(YES.ordinal());
    }
    /**
     * 判断是
     * @param object YES 是 NO 否
     * @return true 是 false 否
     */
    public static boolean isYes(String object) {
        return object != null && object.toUpperCase().equals(YES.name().toUpperCase());
    }

    /**
     * 判断是
     * @param object 判断对象
     * @param yesList 包含在内则为真
     * @return true 是 false 否
     */
    public static boolean isYes(String object, List<String> yesList) {
        return object!=null && yesList.contains(object);
    }

    /**
     * 判断否
     * @param object 1 是 0 否
     * @return true 是 false 否
     */
    public static boolean isNo(Integer object) {
        return object != null && object.equals(NO.ordinal());
    }
    /**
     * 判断否
     * @param object YES 是 NO 否
     * @return true 是 false 否
     */
    public static boolean isNo(String object) {
        return object != null && object.toUpperCase().equals(NO.name().toUpperCase());
    }

    /**
     * 判断否
     * @param object 判断对象
     * @param noList 包含在内则为真
     * @return true 是 false 否
     */
    public static boolean isNo(String object, List<String> noList) {
        return object !=null && noList.contains(object);
    }

}
